Interactive program guide for bidirectional services

ABSTRACT

The present invention provides methods and systems for accessing services in a television system. In one embodiment, a DHCT presents a subscriber an EPG presentation containing a plurality of selectable bi-directional services that are purchasable for a period of time and rendered to a buying subscriber on an individualized basis as offered by the cable television system. The subscriber navigates an EPG menu presentation with an input device such as a remote control device and selects a purchasable service by choosing the visual representation that corresponds to the desired service. The DHCT receives the user input, translates the selected command into an executable program call that queries service availability and, if the service is available, initiates the selected bi-directional audiovisual service on a personalized session.

FIELD OF THE INVENTION

[0001] This invention relates in general to the field of televisionsystems, and more particularly, to a user interface for accessingbi-directional services in television systems.

BACKGROUND OF THE INVENTION

[0002] Historically, television services have been comprised of analogbroadcast audio and video signals. Cable television systems now receivebroadcasts and retransmit them with other programming to users overland-line networks, typically comprising fiber optic cable and/orcoaxial cable. With the recent advent of digital transmissiontechnology, cable television systems are now capable of providing muchmore than the traditional analog broadcast video. In addition, two-wayand advanced one-way communications between a subscriber and a cablesystem headend are now possible.

[0003] In implementing enhanced programming, the home communicationterminal (“HCT”), otherwise known as the set top box, has become animportant computing device for accessing video services and navigating asubscriber through a maze of available services. In addition tosupporting traditional analog broadcast video functionality, digitalHCTs (or “DHCTs”) now also support an increasing number of serviceswhich are not analog, but rather digital; are not basic broadcast, butrather two-way communication such as video-on-demand; and are not basicvideo, such as e-mail or web browsers. These are all in addition to thehost of other television services which are increasingly being demandedby consumers, examples of which include audio and audio/visualprogramming, advanced navigation controls, impulse pay-per-viewtechnology, and on-line commerce. With the addition of interactiveservices and the increased bandwidth and the emergence of bi-directionalcommunication capabilities available through a digital televisionsystem, there is a need to provide a subscriber new channels and/orservices with dedicated bi-directional communication over an allocatedperiod of time.

[0004] Each HCT or DHCT (collectively hereinafter “DHCT”) is typicallyconnected to a cable or satellite television network. The DHCTsgenerally include hardware and software necessary to provide thefunctionality for services rendered by the digital television system atthe client's site. Preferably, some of the software executed by a DHCTis downloaded and/or updated via the cable television network. Each DHCTtypically includes a processor, communication components and memory, andis connected to one or more audiovisual output devices such a televisionor other display device or a personal computer. Furthermore, a DHCT istypically connected to input devices such as an infrared wireless remotecontrol or a wired or wireless keyboard and can be connected optionallyto an audiovisual input device such as a camcorder with an integratedmicrophone or to a video camera and a separate microphone. While manyconventional DHCTs are stand-alone devices that are externally connectedto a television, a DHCT and/or its functionality may be integrated intoa television or personal computer, as will be appreciated by those ofordinary skill in the art.

[0005] Because hundreds or thousands of services may be offered by acable television service provider, an electronic program guide (EPG) isnecessary to facilitate searching for programs, accessing of programinformation and marketing of purchasable services such as Pay-Per-View(PPV). However, EPGs are provisioned for traditional broadcast servicesand not for a new breed of services based on bi-directional audio and/orvisual communication that can be offered on an individualized basis to asubscriber. Furthermore, the scope of system resource consumption forbi-directional audiovisual services differs from traditional broadcastservices and from recent interactive services, such as video-on-demand,that don't require bi-directional audiovisual communication. Therefore,there is a need for the DHCT to not only provide the services andapplications that the cable television system provider offers, but alsoto provide access to bi-directional communication services andrespective service information via an EPG. As system operators of cabletelevision systems continue to add services and applications, a problemexists in both making the subscriber aware of and also in providingquick access to the new services and channels. Because of the largenumber of subscribers in a cable television network, the large number ofbi-directional communication services offered, the fact that eachservice may be distinct and individually rendered, a problem exists inproviding a subscriber a quick and efficient method to access theseservices. Further, there is a need to provide respective program orservice information as well as the ability to search serviceavailability and obtain service information.

SUMMARY OF THE INVENTION

[0006] Briefly described, a preferred embodiment of the presentinvention provides a method and system for accessing services in atelevision system. In one implementation, a digital home communicationterminal (DHCT) presents a subscriber an EPG presentation including aplurality of selectable bi-directional services that are purchasable fora period of time and rendered to a buying subscriber on anindividualized basis as offered by the cable television system. Thesubscriber navigates an EPG menu presentation with an input device suchas a remote control device and selects a purchasable service by choosingthe visual representation that corresponds to the desired service. TheDHCT receives the user input, translates the selected command into anexecutable program call that queries service availability and, if theservice is available, initiates at an appropriate point in time theselected bi-directional audiovisual service on a personalized session.

[0007] In accordance with one embodiment of the present invention, amethod for accessing a plurality of bi-directional services over a cablenetwork is described, comprising presenting a program guide to at leastone subscriber, wherein the program guide displays bi-directionalservices, populating a bi-directional services database with informationrelated to the bi-directional services displayed in the program guide,receiving a request from a subscriber for a bi-directional servicesdisplayed in the guide, querying the bi-directional database todetermine whether the requested service is available, rendering thebi-directional service requested by the subscriber, and updating thebi-directional database to reflect that the bi-directional servicerequested by the subscriber has been rendered.

[0008] In accordance with another described embodiment, thebi-directional service comprises a bi-directional communication sessionbetween the subscriber and a content provider. In another embodiment,the bi-directional service comprises a bi-directional communicationbetween two or more subscribers.

[0009] In another embodiment of the present invention, thebi-directional communication comprises a plurality of instantiations ofa bi-directional service offered by a content provider. And in stillanother embodiment, determining whether a bi-directional service isavailable comprises querying the bi-directional services database todetermine whether an instantiation of the bi-directional servicerequested by the subscriber is available. Still other embodimentscomprise a bi-directional service request for future consumption and anotification to the subscriber when a requested service is unavailable.

[0010] In another disclosed embodiment in accordance with the presentinvention, a method for accessing a plurality of bi-directional servicesover a cable television network is described, comprising populating abi-directional services database with information related to a pluralityof bi-directional services, sending the bi-directional services databaseto a home terminal of a first subscriber, presenting a program guide ofbi-directional services to the first subscriber, receiving a requestfrom the first subscriber for one of the displayed bi-directionalservices, querying the bi-directional services database to determine theavailability of the requested bi-directional service, rendering thebi-directional service requested by the first subscriber, updating thebi-directional services database to reflect that the bi-directionalservice requested by the first subscriber has been rendered, andtransmitting the updated bi-directional services database to a secondsubscriber.

[0011] In accordance with another described embodiment of the presentinvention, populating the bi-directional services database includespopulating an availability table of entries, each entry associated witha bi-directional service and each entry indicating whether theassociated bi-directional service is available. In another embodiment,the availability of a requested bi-directional service is determined byquerying the associated availability table entry for the requestedbi-directional service. In still another embodiment, the availabilitytable of entries is updated to reflect that a bi-directional serviceshas been rendered to the first subscriber and the availability table ofentries is transmitted to the second subscriber.

[0012] In accordance with still another embodiment of the presentinvention, a system is described for providing a bi-directional servicesprogramming guide over a cable television network, comprising abi-directional services content provider, a headend in communicationwith a hybrid-coax network and the bi-directional services contentprovider, a bi-directional communications server, configured toestablish bi-directional communication between the bi-directionalservices content provider and the headend, a home communication terminalin communication with a display device and in communication with theheadend via the hybrid-coax network, a bi-directional services programguide application server in communication with the bi-directionalcommunications server and configured to establish bi-directionalcommunication between the headend and the home communication terminal,and a bi-directional services program guide application residing on thehome communication terminal and in communication with the bi-directionalservices program guide application server, configured to generate thebi-directional services programming guide on the display device and toestablish bi-directional communications between the bi-directionalservices content provider and the home communications terminal.

[0013] In still another disclosed embodiment, a system is described thathas a bi-directional services database in communication with thebi-directional services program guide client application, wherein thebi-directional services database stores information pertaining tobi-directional services for presentation via the display device. In onedescribed embodiment, the bi-directional services database includes anavailability table of entries, each entry respectively associated with abi-directional service and each entry indicating whether the associatedbi-directional service is available.

[0014] Many objects, features and advantages of the present inventionwill become apparent to one of ordinary skill in the art uponexamination of the following drawings and detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Having thus described the invention in general terms, referencewill now be made to the accompanying drawings, which are not necessarilydrawn to scale, and wherein:

[0016]FIG. 1 is a high-level block diagram view of a cable televisionnetwork in accordance with an embodiment of the present invention.

[0017]FIG. 2 illustrates the transmission channels supported by a cabletelevision network in accordance with an embodiment of the presentinvention.

[0018]FIG. 3 is a block diagram that illustrates select components of aheadend in accordance with an embodiment of the present invention.

[0019]FIG. 4 is a block diagram that illustrates select components of adigital home communication terminal in accordance with an embodiment ofthe present invention.

[0020]FIG. 5 is another block diagram that depicts select components ofa digital home communication terminal in accordance with an embodimentof the present invention.

[0021]FIG. 6 illustrates one bi-directional services program guidepresentation in accordance with an embodiment of the present invention.

[0022]FIG. 7 illustrates a bi-directional services purchase screen inaccordance with an embodiment of the present invention.

[0023]FIG. 8 illustrates a remote control device in accordance with anembodiment of the present invention.

[0024]FIG. 9 illustrates an archive search screen in accordance with anembodiment of the present invention.

[0025]FIG. 10 is a diagram of the mappings of services to channels inaccordance with an embodiment of the present invention.

[0026]FIG. 11 illustrates a combination presentation screen of aninteractive program guide display that includes a bi-directionalservices guide presentation in accordance with an embodiment of thepresent invention.

[0027]FIG. 12 illustrates a bi-directional services program guidepresentation in accordance with an embodiment of the present invention.

[0028]FIG. 13 illustrates bi-directional services program guidepresentation in a full screen format in accordance with an embodiment ofthe present invention.

[0029]FIG. 14 illustrates a bi-directional services program guidepresentation that shows several instantiations of a selectedbi-directional service.

[0030]FIG. 15 illustrates a bi-directional services program guideinformation page in accordance with an embodiment of the presentinvention.

[0031]FIG. 16 illustrates an interactive program guide using icons todenote bi-directional services offerings in accordance with anembodiment of the present invention.

[0032]FIG. 17 illustrates an interactive program guide with a selectableservice guide in accordance with an embodiment of the present invention.

[0033]FIG. 18 illustrates a service guide that lists bi-directionalservices in accordance with an embodiment of the present invention.

[0034]FIG. 19 illustrates a service guide that includes bi-directionalservices as a selectable service entity in accordance with an embodimentof the present invention.

[0035]FIG. 20 illustrates a bi-directional services purchase screen inaccordance with an embodiment of the present invention.

[0036]FIG. 21 illustrates a PIN entry window in accordance with anembodiment of the present invention.

[0037]FIG. 22 illustrates a schedule allocation of system resources inaccordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0038] The present invention now will be described more fullyhereinafter with reference to the accompanying drawings, in whichpreferred embodiments of the invention are shown. This invention may,however, be embodied in many different forms and should not be construedas limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will be thorough andcomplete, and will fully convey the scope of the invention to thoseskilled in the art. Like numbers refer to like elements throughout.

[0039] Many modifications and other embodiments of the invention willcome to mind to one skilled in the art to which this invention pertainshaving the benefit of the teachings presented in the foregoingdescriptions and the associated drawings. Therefore, it is to beunderstood that the invention is not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

[0040] The present invention is generally implemented as part of a cabletelevision system (CTS). Hence, an illustrative CTS 10 and its operationwill be described initially. FIG. 1 shows a block diagram view of a CTS10, which is generally a reliable and integrated network system thatfeatures video, audio, voice and data services to subscribers or DHCTusers. Although FIG. 1 depicts a high level view of a CTS 10, it shouldbe appreciated that a plurality of cable television systems can tietogether a plurality of regional networks into an integrated globalnetwork so that DHCT users can receive content or services from anywherein the world.

[0041] The CTS 10 delivers broadcast video signals as digitallyformatted signals in addition to delivering traditional broadcast analogvideo signals. Furthermore, the system can support one-way broadcastservices as well as both one-way data services and two-way media anddata services. The two-way operation of the network allows for userinteractivity with services, such as Pay-Per-View programming, NearVideo-On-Demand (NVOD) programming (according to any of several knownNVOD implementation methods), Video-on-Demand (VOD) programming(according to any of several known VOD implementation methods), andinteractive applications, such as Internet connections and interactiveservices that render real-time bi-directional communication on apersonalized basis such as bi-directional audio-visual communication.The CTS 10 also provides the interfaces, network control, transportcontrol, session control, and servers to access content and services,and distributes content and services to DHCT users. The CTS 10 alsoprovides the interfaces, network control, transport control, sessioncontrol, and servers to establish on-demand session-based bi-directionalcommunication service between a particular remote destination and a DHCTuser for delivering media from the particular remote destination to theDHCT user and input information from the DHCT user to the particularremote destination. A remote destination during a session of abi-directional communication service may comprise a remote personaldestination such as a friend or a remote vendor that offers abi-directional communication service for a purchasable period of time inwhich a viewer communicates real-time with the vendor on a personalbasis. In either case, dedicated CTS resources are allocated to fulfillindividualized bi-directional communication over a purchasable period.

[0042] As shown in FIG. 1, a typical CTS 10 comprises a headend 11, hubs12, a hybrid fiber-coax (HFC) network 17, and users' DHCTs 16(hereinafter the terms “user” and “subscriber” are usedinterchangeably). It should be appreciated that although a singlecomponent (e.g., a headend) is illustrated in FIG. 1, a CTS 10 mayfeature a plurality of any one of the illustrated components or may beconfigured with alternative embodiments for any one of the individualcomponents or with yet other additional components not enumerated above.A content provider (not shown) transmits information pertaining topurchasable bi-directional communication services to a headend forfurther downstream transmission to subscribers in the network.

[0043] A bi-directional communication type of service purchasable as anindividualized service by a DHCT user may be provided by one or moreservice providers via communication with one or more externalcommunication interfaces in headend 11.

[0044] Content provided by a content provider is retrieved andcommunicated by a cable operator or communicated by the content providerto one or more headends 11. From those headends the content is thencommunicated over a communications network 18 that includes a pluralityof HFC access networks 17 (only one HFC access network 17 isillustrated). The HFC access network 17 typically comprises a pluralityof HFC nodes 13, each of which may serve a local geographical area. Thehub 12 connects to the HFC node 13 through a fiber portion of the HFCaccess network 17. The HFC node 13 is connected to a tap 14 that isconnected to a network interface unit (NIU) 15, which is connected to aDHCT 16. The NIU 15 is normally located at a user's property andprovides a transparent interface between the HFC node 13 and the users'internal wiring. Coaxial cables are typically used to couple nodes 13,taps 14 and NIUs 15 because the electrical signals can be easilyrepeated with radio frequency (RF) amplifiers.

[0045] As the high-level operations of many of the functions of CTSs 10are well known to those of skill in the art, further description of theoverall CTS 10 of FIG. 1 will not be contained herein. It will beappreciated, however, that the CTS 10 shown in FIG. 1 is merelyillustrative and should not be construed as implying any limitationsupon the scope of the present invention.

[0046]FIG. 2 shows the transmission channels supported by the CTS 10illustrated in FIG. 1, as delivered by the headend 11 and received asinput channels by the DHCT 16. Although one DHCT 16 and one headend 11are illustrated, it is understood by those skilled in the art that morethan one of each may be included in a subscriber network televisionsystem. As indicated in FIG. 2, the subscriber network television systemcan simultaneously support a number of transport channel types andmodulation formats. The ability to carry analog and digital signals overa large bandwidth are characteristics of a hybrid fiber-coax networktypically employed in a subscriber network television system. As will beappreciated by those skilled in the art, analog and digital signals inHFC networks can be multiplexed using frequency division multiplexing(FDM), which enables many different types of signals to be transmittedover the subscriber network television system to the DHCT 16 of thepreferred embodiment of the present invention. Typically, a subscribernetwork television system using HFC supports downstream (i.e. in thedirection from the headend 11 to the DHCT 16) frequencies from 50 MHz to870 MHz, whereas upstream frequencies (i.e. in the direction from theDHCT 16 to higher levels of the system) are in the 5 MHz to 42 MHz band.Generally, the RF channel bandwidth spacing for analog and digitalservices is 6 MHz. It should be understood that RF channels can beassigned to carry analog video signals but the present embodiment of theinvention is not limited to embodiments where an RF channel is assignedto carry analog video signals upon fulfillment of a complete transitionof the subscriber network television system to an all digital system.

[0047] Referring again to FIG. 2, the downstream direction channels,having been multiplexed using frequency division multiplexing (FDM), andoften referred to as in band channels, include Analog TransmissionChannels (ATCs) 210 and Digital Transmission Channels (DTCs) 250. Thesechannels carry video, audio, and data services. For a non-limitingexample, these channels can carry television signals, Internet data, orany additional types of data, such as bi-directional services programguide (BSPG) data. The signals and data carried on these channels arecollectively referred to herein as services. The ATCs 210 are typicallybroadcast in 6 MHz channels having an analog broadcast composed ofanalog video and analog audio, and include Broadcast TV SystemsCommittee (BTSC) stereo and Secondary Audio Program (SAP) audio.

[0048] Like the ATCs 210, the DTCs 250 each occupy 6 MHz of the RFspectrum. However, the DTCs 250 are digital channels consisting of 64-or 256-Quadrature Amplitude Modulated (QAM) digital signals formatted asMPEG-2 transport streams, allocated in a separate frequency range. TheMPEG-2 transport stream enables transmission of a plurality of DTCchannel types over each 6 MHz RF channel, as compared to a 6 MHz ATC210. Three types of digital transport channels 250 illustrated in FIG. 2include broadcast digital transmission channels 220, carousel digitaltransmission channels 230, and on-demand transmission channels 240.MPEG-2 transport may be used to multiplex video, audio, and data in eachof these digital transmission channels (DTCs) 220. However, becauseMPEG-2 transport streams multiplex video, audio, and data to be placedin the same stream, the DTCs 250 do not necessarily have to be allocatedin separate 6 MHz RF frequencies, unlike the ATCs 210.

[0049] Continuing with FIG. 2, the broadcast DTCs 220 and carousel DTCs230 typically function as continuous feeds for indefinite time, whereasthe on demand DTCs 240 are continuous feed sessions for a limited time.All DTCs 250 are capable of being transmitted at high data rates. Thebroadcast DTCs 220 carry typical data comprising multiple digitallycompressed and formatted, for a non-limiting example, as MPEG-2, TVchannels and other continuously fed data information. The carousel DTCs230 carry broadcast data, such as BSPG data and regular electronicprogram guide (EPG) data, that is systematically broadcast in a cyclingfashion but updated and revised as need be. Thus, the carousel DTCs 230can serve to carry high volume data, such as EPG data and BSPG data, aswell as other data at high data rates. The carousel DTCs 230 typicallycarry data formatted in directories and files by a Broadcast File System(BFS), which is used for producing and transmitting data streamsthroughout the CTS 10, and which provides an efficient method fordelivery of application executables and data and service data to theDHCT 16. The on-demand DTCs 240 can carry information intended for aparticular subscriber, such as compressed video and audio pertaining tosubscriber requested a bi-directional communication service, as well asother specialized data information. Each carousel and on demand DTC 240is defined by a session managed by the session manager 334 (shown inFIG. 3) via the MPEG-2's Digital Storage Media—Command and Control(DSM-CC) protocol.

[0050]FIG. 3 is a block diagram of portions of a headend 11 that isconfigured to provide session-based services such as bi-directionalcommunication services and a BSPG comprising electronic informationabout each respective service in accordance with one embodiment of thepresent invention. These services include, among other things,session-based bi-directional communication services that are purchasableby a subscriber on an individualized basis for a period of time. Apurchasable bi-directional communication service may comprise a vendorthat communicates remotely with the purchaser over the period of timefor which the service is purchased. Particular vendors may offer theflexibility to purchase their respective services for any of a pluralityof time durations, reflecting higher pricing for longer periods. Otherpurchasable bi-directional communication services, such as aperson-to-person bi-directional audiovisual phone session, may notinvolve a vendor at the remote location.

[0051] A bi-directional communication service may comprise real-timecommunication concurrently between a vendor and a plurality ofsubscribers. With reference to the block diagrams of FIG. 3 (headend 11)and FIG. 4 (DHCT 16), a headend 11 is configured to provide purchasablebi-directional communication services, either as an on-demand or ascheduled reservation service with a plurality of possible deliverydurations. In the system headend 11, the BSPG application server 319 anda plurality of other application servers (not shown) are connected to adigital network control system (DNCS) 323 via an Ethernet connection332. The BSPG application server 319 is responsible for reserving andconfiguring system resources needed to provide bi-directionalcommunication services, for packaging, configuring and making availableto the system the executable software program comprising the BSPG clientapplication 477 (FIG. 4), and for providing BSPG data 478 correspondingto the available bi-directional communication services to the BSPGclient application 477 (FIG. 4). A BSPG client application 477 executingon processor 444 in DHCT 16 generates a user interface that is displayedon television 441 for the subscriber to browse, purchase, and establishindividualized bi-directional communication with any from a plurality ofbi-directional communication services. This may require, among otherthings, engaging, preferably, in a direct two-way IP (Internet Protocol)connection with bi-directional communication (BC) servers 322 for afinite period.

[0052] As necessary, BSPG application server 319 configures BC server322 for bi-directional communication with a component in head end 11providing external communication. BC server 322 establishesbi-directional communication with a respective service provider (orequivalently, a remote personal destination) via one or more externalcommunication interfaces in headend 11 connected to BC server 322 via anEthernet connection 332 for bi-directional information and mediatransmission. In the event that a respective service provider is withinthe subscriber network television system spanned by headend 11, BCserver 322 is configured by BSPG application server 319 for personalizedbi-directional communication between a respective service provider (orremote personal destination) in a direct two-way IP connection with BCserver 322 serving as a bi-directional gateway.

[0053] External communication interfaces include router 372, satellitereceiver 374, a satellite transceiver 276, a terrestrial receiver orantenna 378 and a bi-directional gateway 380 connected to backboneswitch 382 that in turn is connected to components in head end 11 viaEthernet connection 332. The bi-directional gateway 380 can be connectedto an internet service provider (not shown) and router 372 can beconnected to a long-distance data network (not shown).

[0054] As will be readily apparent to one of ordinary skill in the art,additional external communication interfaces may exist at the head end11 and any external communication interface components may be connectedto backbone switch 382 or may be connected directly to the Ethernetconnection 332. For instance, a router 372 and gateway 380 may possessEthernet communication ports and may be directly connected to componentsin the headend 11 via the Ethernet connection 332.

[0055] The DNCS 323 provides complete management, monitoring, andcontrol of the network's elements and broadcast services provided tousers. The DNCS 323 provides control and communication functionality bymonitoring the DHCTs 16 and facilitating messaging between the DHCTs 16and components within the headend 11. When any of the communicationfunctionality is provided by headend 11 components other than the DNCS323, the DNCS 323 indirectly provides similar functionality by providingthe control and coordination to those other devices that provide therequired communication functionality to enact a particular mediaservice.

[0056] In one implementation, the DNCS 323 includes functional supportfor client-server applications and other components in the DBDS with itsserver counterparts, including BFS Server 328 and a service applicationmanager (SAM) server 325. Briefly, the client-server applicationcounterparts work in coordination with DNCS 323 to effectively utilizethe primary features of the interactive television system and manage thesale of an individualized purchased session for a bi-directionalcommunication service. Furthermore, the client-server applicationsoftware in communication with DNCS 323 can effectively allocatebi-directional bandwidth capacity to render a session-basedbi-directional communication service and manage impulse or scheduledpurchase, in cooperation with the BSPG client application 477 (FIG. 4).

[0057] The DNCS 323 includes a session manager 334 and a conditionalaccess system 370. The session manager 334 preferably uses the MPEG-2DSM-CC protocol to coordinate requests for bi-directional communicationservices from a subscriber using DHCT 16, as a non-limiting example, fora purchasable individualized service from a vendor that provides abi-directional communication service. The session manager 334 processesuser to network (U-N) session and respective signaling messages, managesallocation of session-related network resources and supports networkmanagement operations. The session manager 334 supports exclusiveservices, such as the BSPG service, by providing the signaling interfaceto establish, maintain, and release client initiated exclusive sessions.The session manager 334 acts as a point of contact to the network forthe DHCT's 16 in the communications network 18 to establish individualsessions. The session manager 334 also defines a resource descriptorstructure, which is used to request the network resources within asession.

[0058] The conditional access (CA) system 370 communicates with the DHCT16 and the billing system 320 to determine whether a particularsubscriber is authorized to receive a BC service. If a DHCT 16 is notauthorized for BC service, the conditional access system 370 insuresthat such services are not transmitted. The DNCS 323 uses a datainsertion multiplexer 329 and a data QAM 330 to insert the in-bandbroadcast file system (BFS) data into a compressed data stream, for anon-limiting example, an MPEG-2 transport stream.

[0059] The BSPG application server 319 communicates via the Ethernetconnection 332 to a SAM server 325 contained on the DNCS 323. The SAMserver 325 is a server component of a client-server pair of components,with the client component being located at the DHCT 16. Together, theclient-server SAM components provide a system in which the user canaccess services, which are identified by an application to run and oneor more parameters, such as particular data, specific to that service.The SAM server 325 also manages the life cycle of the applications onthe system, including the definition, activation, and suspension ofservices they provide and the downloading of the applications into theDHCT 16 as necessary. The BSPG application server 319 defines itsapplication to the SAM server 325 and the SAM server 325 instructs theBFS server 328 to add the BSPG client application's 477 (FIG. 4)executable code to a carousel (not shown) for distribution to thevarious DHCTs 16 in the network 18.

[0060] The BFS server 328 is a part of a broadcast file system that hasa BFS client 443 (FIG. 4) in each DHCT 16 in the communications network18. Applications on both the headend 11 and the DHCT 16 can access thedata stored in the BFS server 328 in a similar manner to a file systemfound on disc operating systems. The BFS server 328 loads data forapplications on a carousel (not shown) that sends data in a cyclicalrepeated fashion, each cycle approximately the same period of time sothat the DHCT 16 that communicates a request for any particular data mayreceive it when the user desires the data. Thus, the BFS client 443(FIG. 4) contained in the DHCT 16 that receives the broadcast from theBFS server 328 can implement the application for the user.

[0061] BSPG data resides in the BSPG application server 319 as composedfor BC services available for the current time and future periods. BCserver 322 contains a storage and memory cache that serves as atemporary repository for buffering upstream information, data or mediagenerated by a subscriber during a session of a bi-directionalcommunication service. Likewise, the storage and memory cache in BCserver 322 serves as a temporary repository for simultaneously bufferingdownstream information, data or media generated by a service provider,vendor or remote personal location during a session of an individualizedbi-directional communication service.

[0062] The BC servers 322 deliver MPEG-2 content to a group of QAMmodulators 324. Media or data from the remote location may comprise livevideo, audio, graphics, and/or text and be transmitted respectively asan MPEG-2 video and audio program to the subscriber. Graphics, textualor other information may be transmitted as an MPEG-2 private dataprogram. Media or data from the remote location may be pre-recordedrather than a live individualized transmission. The BSPG applicationserver 319 is responsible for managing the configuration of BC servers322 and the external communication interfaces. The BC servers 322 areemployed to deliver the data, video and/or audio streams that make upthe BC services.

[0063] The QAM group 324 is actually a multiplex of QAMs that supportmedia transmission to a particular DHCT 16. The session manager 334 inDNCS 323 determines which QAM modulator has access to a particular DHCT16. The QAM modulators 324 are also responsible for encrypting thetransport stream and inserting other data and information into thestream. The QAM modulators 324 receive the MPEG-2 transport stream fromthe BC servers 322 and convert it to an encrypted RF signal at aspecified frequency (channel).

[0064] The quadrature phase shift keying (QPSK) modem 326 is responsiblefor transporting the out-of-band IP (Internet protocol) datagram trafficbetween the distribution headend 11 and a DHCT 16. Data from the QPSKmodem 326 is routed by headend router 327 within the headend 11. Theheadend router 327 is also responsible for delivering upstreamapplication traffic, such as a user's requests for a BC service, to thevarious application servers.

[0065] With reference to the block diagram of FIG. 4, the DHCT 16 istypically situated within the residence or business of a subscriber. Itmay be integrated into a device that has a display 441, such as atelevision set, or it may be a stand-alone unit that couples to anexternal display 441, such as a display included with a computer or atelevision, and that processes media transported in television signalsfor presentation or playback to a subscriber (user of the DHCT 16). TheDHCT 16 preferably comprises a communications interface 442 forreceiving the RF signals, which can include media such as video, audio,graphical and data information, from the tap 14 and for providing anyreverse information (such as BSPG data as required by a subscriber thathas purchased as BSPG service) to the tap 14 for transmission back tothe headend 11 (FIG. 1). The DHCT 16 further includes a processor 444for controlling operations of the DHCT 16, including a video output portsuch as an RF output system 448 for driving the display 441, a tunersystem 445 for tuning into a particular television channel to bedisplayed and for sending and receiving data corresponding to varioustypes of media from the headend 11.

[0066] The tuner system 445 includes in one implementation, anout-of-band tuner (OOB) for bi-directional quadrature phase shift keying(QPSK) data communication and a quadrature amplitude modulation (QAM)tuner for receiving television signals. The OOB coupled with an upstreamtransmitter enable the DHCT 16 to interface with the network so that theDHCT 16 can provide upstream data to the network, for example via theQPSK or QAM channels. This allows a subscriber to interact with thenetwork to request BSPG services and, if necessary, encryption can beadded to the OOB channels to provide privacy.

[0067] Additionally, DHCT 16 includes a receiver 446 for receivingexternally generated information, such as user inputs or commands forother devices. The DHCT 16 may also include one or more wireless orwired communication interfaces, also called ports, for receiving and/ortransmitting data to other devices. For instance, the DHCT 16 mayfeature USB (Universal Serial Bus) (for connection to a USB camera ormicrophone), Ethernet (for connection to a computer), IEEE-1394 (forconnection to media devices in an entertainment center), serial, and/orparallel ports. A computer or transmitter may for example, provide theuser inputs with buttons or keys located either on the exterior of theterminal or by a hand-held remote control device 480 or keyboard thatincludes user-actuated buttons. In the case of bi-directional services,a user input device may include audiovisual information such as acamera, microphone, or videophone. As a non-limiting example, the DHCT16 may feature USB or IEEE-1394 for connection of an infrared wirelessremote control 480 or a wired or wireless keyboard, a camcorder with anintegrated microphone or to a video camera and a separate microphone.

[0068] Technology for digitizing and compressing/decompressing video andspeech signals is well-known in the art. In a preferred embodiment, theDHCT 16 of the present invention has the capability to simultaneouslydecompress and reconstruct video, audio, graphics and textual data thatmay, for example, correspond to a live BSPG service. This permits theDHCT 16 to store video and audio in memory in real-time, to scale downthe spatial resolution of the video pictures, as necessary, and tocomposite and display a graphical user interface (GUI) presentation ofthe video with respective graphical and textual data whilesimultaneously playing the audio that corresponds to the video. The sameprocess applies in reverse and DHCT 16 can, for example, digitize andcompress pictures from a camera for upstream transmission.

[0069] In one implementation, a memory portion 449 of the DHCT 16includes flash memory 451 and dynamic random access memory (DRAM) 452for storing the executable programs and related data components ofvarious applications and modules for execution by the DHCT 16. Both theflash memory 451 and the DRAM memory 452 are coupled to the processor444 for storing configuration data and operational parameters, such ascommands that are recognized by the processor 444.

[0070] Basic functionality of the DHCT 16 is provided by an operatingsystem 453 that is contained in flash memory 451. One or more programmedsoftware applications, herein referred to as applications, are executedby utilizing the computing resources in the DHCT 16. The applicationexecutable program stored in flash memory 451 or DRAM memory 452 isexecuted by processor 444 (e.g., a central processing unit or digitalsignal processor) under the auspices of the operating system 453. Datarequired as input by the application program is stored in DRAM memory452 and read by the processor 444 from DRAM memory 442 as needed duringthe course of application program execution. Input data may be datastored in DRAM memory 452 by a secondary application or other source,either internal or external to the DHCT 16, or possibly anticipated bythe application and thus created with the application program at thetime it was generated as a software application program, in which caseit is stored in flash memory 451. Data may be received via any of thecommunication ports of the DHCT 16, from the headend 11 via the DHCT'snetwork interface (i.e., the QAM or out-of-band tuners) or as user inputvia receiver 446. A type of input data fulfills and serves the purposeof parameters as described below. Data generated by application programis stored in DRAM memory 452 by the processor 444 during the course ofapplication program execution.

[0071] The flash memory 451 also contains a platform library 456. Theplatform library 456 is a collection of functionality useful toapplications, such as a timer manager, compression manager (forcompressing text, video and/or audio), database manager, stringmanagers, and other utilities (not shown). These utilities are accessedby applications as necessary so that each application does not have tocontain these utilities thus resulting in memory consumption savings anda consistent user interface.

[0072] The client component SAM 457 (hereinafter the SAM client 457) ofthe client-server pair of components provides a model in which the usercan access services available on the system. A service consists of anapplication to run and a parameter, such as data content, specific tothat service. The SAM client 457 handles the lifecycle of theapplications on the system, including the definition, initiation,activation, suspension and deletion of services they provide and thedownloading of the application into the DHCT 16 as necessary. Manyservices can be defined using the same application component, withdifferent parameters. The SAM client 457 is a part of the platform 456.As a non-limiting example, an application to tune video programmingcould be executed with one set of parameters to view HBO and a separateset of parameters to view CNN. Each association of the applicationcomponent (tune video) and one parameter component (HBO or CNN)represent a particular service that has a unique service ID. The ClientSAM 457 also interfaces with the resource manager 467 to controlresources of the DHCT 16.

[0073] An application client is the portion of an application thatexecutes on the DHCT 16 and provides the application's services to theuser typically through a graphical user interface. Also contained inflash memory 451 is a navigator application 455 which provides anavigation framework for the user to access services available on thecable system. Examples of the services include, in one implementation,watching television and pay-per-view events, listening to digital music,and an interactive bi-directional service program guide, each of whichis controlled through separate applications in flash memory 451. Thenavigator 455 also allows users to access various settings of the DHCT16, including volume, parental control and VCR commands. Moreover, thenavigator 455 provides users with television related menu options thatcorrespond to DHCT 16 functions such as interactive program guides,channel blocking and/or displaying a BSPG purchase list.

[0074] The traditional interactive program guide (IPG), Watch TV 462,and pay-per-view (PPV) are examples of resident applications in flashmemory 451. The IPG displays a program guide to the user and populatesthe guide with program data for selection. Watch TV 462 enables a userto simply “watch television” while PPV enables viewing of premiumtelevision services. These applications, because they are in flashmemory 451, are available to the user and do not need to be downloadedeach time the DHCT 16 initializes.

[0075] The applications that are stored in the DRAM 452 may beapplications that are loaded when the DHCT 16 initializes or areapplications that are downloaded to the DHCT 16 upon a user-initiatedcommand using an input device such as the remote 480. In a non-limitingexample, DRAM memory 452 may contain the following application clients(hereinafter referred to as “application(s)”): a video-on-demandapplication (VOD) 463, an e-mail application 465 and a digital musicapplication. Additionally, DRAM memory 452 could also contain a calendarand/or a calculator application. It will be obvious to one with ordinaryskill in the art that these applications are illustrative and merelyserve as examples of possible embodiments of the invention.

[0076] The applications discussed above and other applications providedby a cable system operator are top level software entities on thenetwork for providing services to the user. In one implementation, allapplications executing on the DHCT 16 work with the navigator 455 byabiding by several guidelines. For example, an application should firstutilize and implement the SAM client 457 for provisioning, activation,and suspension of services. Second, an application should share DHCT 16resources with other applications and abide by the resource managementpolicies of the SAM client 457, the operating system 453, and the DHCT16. Third, an application should handle all situations where resourcesare unavailable without navigator 455 intervention. Fourth, when anapplication loses service authorization while providing a service, anapplication should suspend the service gracefully. The navigator 455will reactivate an individual service application when it later becomesauthorized. Finally, an application should be configured so it does notrespond to input commands reserved for the navigator. For instance, as anon-limiting example, when user input commands are entered via awireless remote control device 480 or keyboard, the application shouldbe configured so it does not have access to certain user input keys thatare reserved by the navigator 455 (i.e., power, channel +/−, volume +/−,etc.). Without limitation to the foregoing, in some circumstancescertain applications during the course of program execution may reach amachine-state in which input keys that would ordinarily be reserved maybe employed for input by the application but only during that particularmachine-state. For instance, an application may display a user interfacethat specifically requests input or selection from the user in which oneor more of the reserved keys are used momentarily during thatmachine-state.

[0077] Other forms of input are subject to similar configuration so thatDHCT 16 does not respond to input commands reserved for the navigator455. For example, a video or speech signal in a DHCT 16 that is inputfrom a wired or wireless microphone and has been digitized andcompressed in the DHCT 16 as part of a BSPG service session would besubject to this configuration.

[0078] In an alternate embodiment, an audio input port (not shown as aseparate input) in the DHCT 16 comprises a single receiver device. Insuch an embodiment, the DHCT 16 has digital signal processing capabilitythat implements a subtraction filter to effect subtraction of the audiogenerated by the DHCT 16 from the speech signal received from the user(and for echo cancellation).

[0079] Another application shown in FIG. 4 that is contained in DRAMmemory 452 is the bi-directional services program guide clientapplication 477 (hereinafter referred to as “BSPG client application477”). BSPG client application 477 preferably is downloaded into DRAM452 from the head end 11. Alternatively, the BSPG client application 477may be resident in flash memory 451. Similar to an EPG application thathas an EPG database of records in which program information is supportedby client-server EPG counterparts, the BSPG client application 477employs a BSPG database 478 of records that comprises of informationpertaining to bi-directional communication services for presentation toa subscriber.

[0080] A bi-directional communication service is rendered as asession-based service effected by the head end 11 components asdescribed above. Among other things, session-based bi-directionalcommunication services include services that are purchasable by asubscriber on an individualized basis for a period of time. Apurchasable bi-directional communication service may comprise a vendorthat communicates remotely with the purchaser over the period of timefor which the service is purchased. Particular vendors may offer theflexibility to purchase their respective services for any from aplurality of time durations, reflecting higher pricing for longerperiods. Other purchasable bi-directional communication services, suchas a person-to-person bi-directional audiovisual phone session, may notinvolve a vendor at the remote location.

[0081] A session for a bi-directional communication service may comprisecommunication concurrently between a vendor and a plurality ofsubscribers and a session for a bi-directional communication service maycomprise real-time communication between a subscriber and a vendor orfriend. Alternatively, a subscriber can purchase a bi-directionalcommunication service for a future period resulting in a purchasedreservation for the respective service. Hence, a bi-directionalcommunication service may be fulfilled as a scheduled session per anadvanced purchase by a subscriber.

[0082] The BSPG database 478 contains sufficient information for thepresentation of available bi-directional communication services at thecurrent time and for subsequent periods. The BSPG application server 319in communication with BSPG client application 477 effects updates to theBSPG database 478 stored in memory 449 or in a storage device connectedinternally or externally to DHCT 16 via a data communication port suchas a USB (Universal Serial Bus) or IEEE-1394.

[0083] The BSPG client application 477 consists of a GUI that may becustomized remotely by the system operator and updated as program datais received by the DHCT 16 via its cable communication interface. TheBPSG client application 477 receives input commands generated by a uservia an input device such as a remote control device 480 or via the inputcommunication port 474 in DHCT 16.

[0084] BSPG client application 477 reads records in BSPG database 478and processes them into a displayable representation as part of a GUIpresentation displayed on a television 441 or similar display device forpresentation to a subscriber.

[0085] BSPG information associated with a bi-directional communicationservices is transmitted on a regular or periodic basis from the BSPGapplication server 319 (FIG. 3) to one or more DHCTs 16. BSPGinformation may comprise descriptive information to populate the entriesof a BSPG presentation, a service guide, or an EPG presentation with thecorresponding BSPG fields that are presented to the subscriber via aGraphical-User-Interface (GUI) from which a subscriber can select andrequest additional descriptive information about respectivebi-directional communication services. Hence, per BC service informationin the displayed presentation to the subscriber, the subscriber canretrieve and view (and hear if applicable) information specific to a BCservice and proceed to select and purchase a specific BC service for aprice over a period of time. BSPG information comprises data organizedinto database records with fields containing, but not limited to,information such as a service title, service content description,service category, name of vendor providing service, one or more names ofindividuals representing vendor that are available to fulfill theservice, and service's rating information. The BSPG database 478comprises additional data, including a plurality of purchasabledurations with price for each respective service; an indication ofwhether a service can be optionally recorded by the purchaser for anadditional price; one or more time intervals for which a service isavailable during the day; days of the week for which a service can bepurchased; and a calendar window comprising a start date and an end datefor which a service is offered. A service may be offered indefinitely.

[0086] Options for purchasing a package for multiple sessions of aservice can be included in the BSPG database. BSPG database records mayalso include information such as service active times, service titles,service descriptions, service genres, casts lists, ratings information,price criteria (or combinations of multiple price criteria) associatedwith various viewing options, service durations, and/or links toadditional respective program related information such as servicepreviews. The effective window of days and times in which a service isavailable for purchase may also be included. Further, geographicalinformation related to purchasable services may be included in thedatabase records, such as time zone, geographical location andlanguage(s) of merchant. Other illustrative information that may bepresent includes type of service (e.g. audio or video or both) and videoquality/resolution.

[0087] The BSPG database 478 includes additional information associatedwith each respective service's availability at the current time.Preferably, the BSPG database 478 includes a separate “availabilitytable” of entries, each entry respectively associated with a respectiveservice, each service having an index number for which the table can berapidly be indexed with a service's number, and each entry respectivelyindicating whether a service is available at a selected time. Whereasthe BSPG information associated with a bi-directional communicationservices is transmitted on a regular or periodic basis from the BSPGapplication server 319 (FIG. 3) to one or more DHCTs 16, the“availability table” or one or more subsets thereof, is transmittedasynchronously and on a more frequent basis as need be to update theavailability status of services at the current time.

[0088] The BSPG information and availability table are transmitted in apreferred embodiment from the BSPG server 319 to one or more DHCTs 16via the BFS server 328. The BPSG receives updates to the BSPG database478 and/or the availability table via the BFS client 443. Updates may beeffected immediately or, in an alternate embodiment, at periodicintervals.

[0089] A type of purchasable bi-directional service offered by a vendorcomprises a finite number of instantiations according to the resourcesand/or number of individuals that the vendor has to render the servicefrom the remote location. For example, a personalized auto diagnosticservice may feature four different mechanics with four respective setsof audio-visual equipment and communication interfaces to render itsservice. On the other hand, certain services may have resources for onlyone instantiation of the service.

[0090] Upon a session set-up for an available purchased service to afirst purchaser, the BSPG server 319 momentarily withholds grants to asecond purchaser for the same service and immediately determines if thesession constitutes the last available instantiation for that service.If a service's available instantiations are exhausted, the BFS server319 denies service to the second purchaser and alternatively the BSPGclient 477 queries the purchaser to schedule a future time or topurchase another service. Simultaneously upon determining that a sessionconstitutes the last instantiation of a service, the BSPG server 319updates the availability table information to indicate that therespective service is not currently available and the updatedavailability table or a subset thereof is loaded into the BFS server 328where it is immediately broadcast through the communications network 18.The version of the corresponding BFS file is automatically updated bythe BFS server 328 and causes DHCT 16 to be signaled for reception foran updated file.

[0091]FIG. 5 is another depiction of selected elements of the DHCT 16including some of the elements previously discussed. This figure shows atuner system 445 that can select one of a plurality of transmissionchannels provided by a communications network 18 of a subscribertelevision system such as, for a non-limiting example, a digital cableTV network or a DBDS. The tuner system 445 enables the DHCT 16 to tuneto upstream media and data transmissions, thereby allowing a user toreceive digital video, audio and data content associated with a programor a bi-directional communication service content transmitted via thesubscriber network television system. Also included within the DHCT 16are an out of band (OOB) tuner and upstream transmitter 547 connected tothe communications interface 442. It should be appreciated that althoughthe OOB tuner and upstream transmitter 547 are illustrated as onecomponent in FIG. 5, the tuner and transmitter can be independent ofeach other and located separately within the DHCT 16. Nonetheless, bothcomponents are in communication with the subscriber network televisionsystem so that upstream transmissions can be received by the systemduring a bi-directional communication service. The OOB tuner andupstream transmitter 547 enable the DHCT 16 to interface with asubscriber network television system so that the DHCT 16 can provideupstream data to the network, for example, via a QPSK channel thatserves as an upstream OOB channel (see FIG. 2) and received by a QPSKreceiver in QPSK modem 326 in headend 11. In this manner, a subscribercan interact with the subscriber network television system to requestservices or a service's data such as, for a non-limiting example, BCservices and BSPG data, respectively.

[0092] Alternatively, upstream data transmission can be effected via aQAM channel with a QAM transmitter in DHCT 16 and a QAM receiver inheadend 11.

[0093] Alternatively, a telephone modem (not shown) in the DHCT 16 canbe utilized for upstream data transmission and a headend 11 or hub 12 orother component located upstream in the subscriber network televisionsystem may receive data from a telephone network coupled to a telephonemodem and can route the upstream data to a destination internal orexternal to the subscriber network television system.

[0094] The DHCT 16 includes a demultiplexing system 543 comprisingfunctionality for QAM demodulation, forward error correction (FEC),transport demultiplexing, decryption, and parsing, as is well known inthe art, to counter the effect of signal processing of broadcast mediaand data in the subscriber network television system. Transportdemultiplexing preferably includes MPEG-2 transport demultiplexing. Thedemultiplexing system 543 in communication with communication interface442, tuner system 445 and processor 444 effects reception of compressedvideo streams, compressed audio streams, and compressed data streamscorresponding to a selected or requested BC service to be separated fromother programs and/or streams transported in the tuned transmissionchannel and to be eventually presented to the subscriber in accordancewith the preferred embodiment of the present invention. The DHCT 16 alsoincludes a media engine 580 configured with elements for driving thetelevision display 441, in cooperation with output system 448, whereinthe media engine 580 also includes decoding circuitry 598 to decodecompressed digital video and digital audio and data. Data packets frommedia and/or data streams corresponding to a session of a BC servicethat are stored in media memory 560 are decompressed by decodingcircuitry and reconstructed for presentation and playback. Furtherelements include media memory 560, which is used to store compressedmedia and data packets and the respective reconstructed versioncorresponding to a program being viewed or to a purchased BC service.The reconstructed representation of the media streams as well asgraphical information that comprise a graphical user-interface aredisplayed for presentation to the viewer.

[0095] Data packets from media and/or data streams corresponding to asession of a BC service that are stored in media memory 560 aredecompressed by decoding circuitry and reconstructed for presentationand playback.

[0096] The security processor 565 is a secure element for performingsecurity and conditional access related functions. More particularly,the security processor 565 functions to authorize a paying subscriber'sDHCT 16 to execute specialized functionality of the DHCT 16, such asreceiving and decrypting (or descrambling) encrypted (or scrambled)media and other data sent from a remote device. Security processor 565preferably includes a microprocessor, and a memory that only themicroprocessor of the security processor 565 may access. Preferably,security processor 565 is contained in a tamper proof package. Withreference to FIG. 3, in one implementation, media streams from theremote destination comprising a BC session, are received via an externalcommunication interface in the head end 11 or from within headend 11 (asdescribed above) and sent to the BC server 322. Communication with theBC server 322 may comprise a secured IP connection in which a residentencryption mechanism is negotiated and exercised by the remotedestination and the BC server 322. Alternatively, encryption may not beapplied between the remote destination and the BC server 322.

[0097] Encryption is applied to the data stream of the requested media,for a non-limiting example the respective media streams from the remotedestination comprising a BC session, and at the QAM group 324 at theheadend 11 according to encryption methods well-known to those skilledin the art. An encryption component resident in the QAM group 324 in thehead end 11 and under the direction of the DNCS 323 encrypts, for anon-limiting example, MPEG-2 transport stream packets used to transmitthe BC session's streams. The encrypted streams also include, in oneembodiment, entitlement control messages that are recognized by thesecurity processor 565 (FIG. 5) at the DHCT 16 as information is neededto decrypt the encrypted BC session's streams. The security processor565 preferably stores authorization information, wherein theauthorization information indicates that the subscriber is entitled toaccess the BC session's streams. The authorization information isobtained from one or more entitlement messages sent by the head end 11after, or concurrently with, initialization of the DHCT 16 into apurchased BC service. If the authorization information indicates thatthe subscriber is entitled to the BC session's streams, the securityprocessor 565 generates a code word or key based on the authorizationinformation and the received entitlement control message, and thesecurity processor 565 uses this key to decrypt the encrypted BCsession's streams at the decryptor 588 (FIG. 5).

[0098] The DHCT 16 includes an internal clock 582 and timers 590 thatenable computation of the time relationship between its internal clockand the clock specified by the received BC session's streams. Hence, byreading and interpreting the clock and time stamps specificationsintrinsic in the BC session's streams (for example, as provisioned inMPEG-2), or as communicated by the head end 11 via the out of bandpathway or channel, the DHCT 16 can effect an output for the mediaand/or information received from the remote location as a synchronizedpresentation to the user that includes reconstructed video pictures, thereconstructed digital audio samples, and supplementary information thatemanated from the remote location.

[0099] Under the auspices of the real-time operating system 453 (FIG. 4)executed by processor 444, and in coordination with BSPG clientapplication 477, received packets corresponding to the BC session'smedia streams and/or data are received in DHCT 16 via communicationsinterface 442 and stored in a temporary buffer in memory 449. Thetemporary buffer is implemented and managed as a circular buffer toenable data transfers from the temporary buffer to the media memory 560in concert with the insertion of newly arriving packets into thetemporary buffer. Packets are read from the temporary buffer in memory449 and written to media memory 560 in a sufficiently fast manner.Orchestration of multiple simultaneous data transfer operations iseffected so that while packets are being transferred from memory 449 tomedia memory 560, new packets are received and stored in the temporarybuffer.

[0100] Therefore, the BSPG client application 477 provides the user witha presentation of available bi-directional services to choose from andcan check the availability of and purchase the requested service for aduration of time. The BSPG client application 477 providesbi-directional services to the user by engaging, preferably, in a directtwo-way IP connection with BC servers 322.

[0101] The BSPG client application 477 configures the DHCT 16 for thereception and transmission, purchase, and billing of a purchased BCservice for a period of time. The BSPG client application 477 alsoprovides for a user interface for the specification of options forpurchasing a BC service from a plurality of time durations, reflectinghigher pricing for longer periods, in cooperation with the BSPGapplication server 319 (FIG. 3) and in cooperation with other head end11 components, including the pricing system 321. Regarding the billingfunctionality, after a purchase transaction has occurred and thepurchase is acknowledged, the purchase is recorded for billing purposes.In one embodiment, the BSPG client application 477 configures theprocessor 444 to cause BSPG purchase transactions to be stored in theFLASH memory 451 part of system memory 449 or in some other designatednonvolatile memory section of DHCT 16 as purchase transactions occur.BSPG transaction records and associated fees are transmitted upstreamvia the OOB upstream channel at designated scheduled times (e.g., duringlow bandwidth consumption periods) to the billing system 320.Alternatively, the BSPG application server 319, under the direction ofthe billing system 320, may periodically poll individual DHCTs 16 orgroup of DHCTs to collect their respective BSPG transaction history.BSPG transaction records received from subscriber's DHCT 16 by the BSPGapplication server 319 are debited from subscriber's respective accountby the billing system 320.

[0102] BSPG data associated with BC services is transmitted on a regularor periodic basis from the BSPG application server 319 to one or moreDHCT 16. BSPG information may comprise descriptive information topopulate the entries of a service guide or the corresponding BSPG fieldsof an EPG that is presented to the subscriber via a GUI from which asubscriber can select and request additional descriptive informationabout respective BSPG services. Hence, per BSPG title information in thedisplayed presentation to the subscriber, the subscriber can retrieveand view information specific to a BC service and proceed to purchasespecific a BC service for a specified period.

[0103] The BSPG client application 477 can offer the user a plurality ofchoices, wherein the user may select from pre-configured options from aninput device such as a wired or wireless keyboard or remote control 480to purchase a BC service for one of various durations and from optionsto purchase the service at the current time impulsively or at any ofvarious future periods of time.

[0104] The BSPG client application 477 also preferably tracks periodsand consumption for active services and determines whether the serviceaccess time is about to expire. Hence, the BSPG client application 477performs a “remaining time” comparison for each user-effected servicepurchased. When the BSPG client application 477 determines that theremaining service access time approaches the cross point in time forwhich the service is to expire, it alerts the user to the situation viaa warning barker or banner that is displayed via the television 441.Alternatively a user can be alerted via a blinking light on the DHCT 16and/or via a sound signal.

[0105] When a user selects a bi-directional service, the BSPG clientapplication 477 confirms availability of the service and waits for astart of service notification from the BSPG application server 319. Asstated above, when required, the BSPG application server 319 updates theavailability table when all available instantiations for a service areconsumed. Updates may be effected immediately or, in an alternateembodiment, at short periodic intervals. Thus, when a user selects abi-directional service, the BSPG will be updated to reflect that use.

[0106] Upon a user instantiating a purchase of a bi-directional servicefor a price via the displayed graphical interface (i.e., the subscriberenters input via an input device and such input may comprise a passwordor PIN to authenticate authorization to purchase service), a purchasetransaction is executed by the processor 444 or some other processor inDHCT 16 that causes a session to be set-up between subscriber networktelevision system resources to the DHCT 16. A logical connection betweenthe DHCT 16 and a remote location for the BC service is established. Theremote location may involve bi-directional exchange of audio-visual orother information via a router 372, bi-directional gateway 380 or BCserver 322. As facilitated by the session manager 334 in the DNCS 323, asession is a logical entity used to define a connection between the DHCT16 and the BC server 322 and the resources used to maintain thatconnection in the subscriber network television system. The sessionmanager 334 coordinates and effects the signaling required to implementthe session which is preferably defined by the MPEG-2 standard's ISO/IEC13818-6 IS (MPEG-2 DSM-CC). Upon a session setup request generated bythe DHCT 16 (usually in response to a request from a subscriber), theDNCS 323 verifies the eligibility of the DHCT 16 to receive thebi-directional service being requested and then passes the request tothe BSPG server 319.

[0107] If the BSPG server 319 determines that it can deliver theservice, it communicates with the DNCS 323 to reserve the networkresources required for the requested service. The DNCS 323 incommunication with BC servers 322 allocates the requested resources,including the necessary bandwidth, and sends a message back to the BSPGserver 319 to indicate that the requested resources have been allocated.This message contains MPEG-2 transport stream ID, identifying thephysical connection from a router 372 or bi-directional gateway 380 tothe BC server 322, and the connectivity from the BC server 322 to theQAM 324 to the Hub 12 in which the DHCT 16 is connected. The amount ofbi-directional bandwidth that will be reserved for the duration of thebi-directional services session is also communicated to the relevantservers and headend 11 components. Bandwidth allocation entails anassignment of system resources for a time interval for delivering abi-directional service. The time interval is characterized by a specificstart time and duration.

[0108] Via the messaging capabilities of the DNCS 323, the BSPG server319 next sends a message to the DHCT 16 that indicates that it is readyto begin delivering the bi-directional service video and audio contentusing the resources allocated. The DHCT 16 receives information in themessage identifying the QAM Modulator that is transmitting the videocontent (and hence where to tune to receive the requested content) andthe bandwidth allocated to deliver the service. After a session has beenestablished, the DHCT 16 communicates directly with the BC server 322 tofacilitate delivery of the requested service. Throughout the course oftime that a bi-directional service is active further messaging isconducted between the respective DHCT 16 receiving the BSPG service andthe BSPG server 319 and/or the BC server 322 via the DNCS 323 to monitorthe status of the session. Thus, the BSPG server 319 can monitor that asession is properly functioning.

[0109] As aforementioned, a user may select a bi-directional service bynavigating through a displayed BSPG GUI presentation by manipulatingdesignated buttons of a wired or wireless remote device 480. Theselection of a bi-directional service or entry from the BSPG clientapplication 477 invokes a query as to the availability of the selectedservice. The query is translated into one or more application executablecalls that are executed by the navigator 455 and the SAM client 457 toactivate the requested service. Any of a multiplicity of bi-directionalservices may be activated through the BSPG client application 477 andits corresponding interface (discussed below).

[0110] References to the selection of a service or entry from themultiplicity of services and/or entries displayed by the BSPG clientapplication 477 on the display 441 comprise the process of interactivelynavigating by moving the highlight cursor and transmitting inputcommands to the DHCT 16. The processor 444 processes data extractedand/or interpreted from the input commands to effect visual cursorposition and visual feedback of the user's selection on the display 441.When the user inputs a selection, the processor 444 invokescommunication between internal components in the DHCT 16, includingsoftware components such as the navigator 455 and SAM client 457, toactivate the selected service. The processor 444 employs the messagingservices of the operating system 453 to effect the communication betweenany two or more of the internal components.

[0111]FIG. 6 is a diagram of the display 441 with a BSPG presentation670 presented to the user by the DHCT 16. The BSPG presentation 670 isdisplayed upon activation of the BSPG GUI. At activation, a navigablemenu 672 is presented to the user. In one embodiment, the BSPGpresentation 670 includes a series of navigable and selectablebi-directional services 676 that link the subscriber to a selectedservice.

[0112] A system operator at the headend 11 uses the BSPG server 319(FIG. 3) to a priori configure the BC services and respective BSPGdatabase 478 for display in the BSPG presentation 670 depicted in FIG.6.

[0113] A BSPG server 319 generates a version of the BSPG database 478that identifies the particular services offered, so that when thesubscriber selects one of the service links 676 the BSPG 70 knows whichservice to activate. BSPG program information is coalesced and stored inthe BSPG server 319 at the headend 11 for transmission to DHCTs 16throughout the communications network 18 as the BSPG database 478, oronly to those DHCTs authorized to receive BSPG data. The BSPG server 319formats the BSPG database 478 into a format interpretable by the BSPGclient application 477 running in the DHCT 16 and feeds the data via theBFS from the headend 11 for downstream transmission to the DHCTs 16.

[0114] A record of the BSPG database 478 that corresponds to a selectedbi-directional service may, for example, include a short description ofthe service and a reference the target service and application thatprovides the service. Similarly, the SAM service ID or the actualchannel assigned to a desired service may also be used to activate aservice. Examples of bi-directional services that can be included in theBSPG presentation 670 include, but are not limited to, those provided bythe following applications: personalized expert advice, personalizedadult entertainment, personalized education, or personalized medicalassistance. In a preferred embodiment, any bi-directional serviceavailable to the user in the cable system 10 can be accessed via theBSPG presentation 670, as configured by the system operator and/or inthe respective alternate embodiments as configured by the user toreflect a user's own customization and preferences.

[0115] In a preferred embodiment, BSPG database information for eachbi-directional service is displayed in the BSPG presentation 670 in agrid format (see FIG. 6) to enable scrolling through the plurality ofservices by time and service. As a non-limiting example, an informationkey on a remote device 480 may be configured to instruct the BSPG clientapplication 477 to display the information corresponding to a selectablebi-directional service. As another non-limiting example, the BSPGpresentation 670 may immediately present additional information about aselectable bi-directional service after the user moves the cursor 678onto the selectable area of the BSPG presentation 670.

[0116] Bi-directional service authorization information is available tothe BSPG 670 via the SAM. A user may select a bi-directional servicelink 676 displayed in the BSPG presentation 670 and the request for theprocess of granting the bi-directional service will proceed only if theuser is authorized. If the user is not authorized, visual or audiofeedback such as a “grayed out” area should be displayed to indicatethat the user may not select the link label 676 for activation of thatservice. Alternatively, unauthorized services may not be displayed atall. Alternatively, unauthorized services are coalesced into a servicecategory such as “Other Purchasable Services” or “Other AvailableServices.”

[0117] Either the system operator of the cable television system or theuser of the DHCT 16 may configure the display status of the respectivebi-directional service link 676 with respect to authorization status andavailability of the target service. Alternatively, the BSPG server 319automatically generates availability and status information for eachrespective bi-directional service via transmission of updatedavailability table as previously described. The user, through a settingsmenu (not shown) may configure the BSPG presentation 670 so that thedisplay mode of one or more selectable bi-directional services links 676is “inactive” or “none” so the display of the selectable bi-directionalservice conforms to the display modes described above.

[0118]FIG. 7 is an example of a main session purchase screen 700illustrating the main screen following the selection of a first BCservice by the subscriber in a BSPG presentation 670. The main purchasescreen displays features provided by the BSPG application 477 (FIG. 4).The example main session purchase screen 700 includes a title header 701suggesting to the user the purpose of the screen, and a subtitle header702 indicating which hierarchical level of the session purchase screendisplays is currently displayed, in this instance, a main screen 700.Example main screen 700 includes an information window 710 that providesbrief descriptive information, such as, for a non-limiting example,service title, rating, availability, service description, duration, andprice. More or less information may be included according to theinformation available in the BSPG database 478.

[0119] Example session main screen 700 also includes severalpre-configured lists, such as query list 724, options list 722, andfunctions list 720. List 722 changes accordingly to the subscriber'sselection of a respective entry in query list 724. Hence, the optionslist 722 changes to a display corresponding to price-per-durationdisplays upon the subscriber selecting the price entry in query list724. Each of these pre-configured lists includes information within aseries of windows 725. The information in these lists will preferably bedefaulted to the selection corresponding to the shown highlighted window726 of each list based on the characterizing information correspondingto the BC service selection. Other embodiments are possible, such as aconfiguration screen (not shown) wherein the user categorizes thesession for a BC service according to his or her own personaldefinitions. For a non-limiting example, query list 724 includes suchqueries for a session of a BC service as availability, price, andduration, as well as more query options not shown. The default selectionhighlighted by highlighted window 726 corresponds to the fact that auser can query about a plurality of price options for the selected BCservice, i.e. Tae Bo as a non-limiting example. Options list 722defaults to “$20 for 15 min as this corresponds to the least-expensiveavailable option of the Tae Bo BC service. Although these are defaultselections, the user is free to scroll the highlighted window 726 ofeach list to enter his or her desired query. As with any of the listsshown and described on the current and subsequent screens, the user mayadvance from one window to the next window within a list by using the upand down arrow keys of the remote control device, as suggested by uparrow 730 and down arrow 734. There are many variations of the advancingfunction. Preferably, the user advances highlighted window 726 in eachlist up or down to highlight the entry in window 725 containing theinformation desired. Alternatively, the windows in each list may beadvanced through highlighted window 726. The preferred embodiment of theinvention is not limited to how the user advances to each window 725.The user advances from one list, for a non-limiting example query list724, to another list, for a non-limiting example options list 722, byusing scroll arrows on the remote, as suggested by scroll arrows 736.Scroll arrows 736 and 738 correspond to scroll arrows located on aremote device. Category display 712 includes one example default formatbased on characterizing information corresponding to the selected BCservice. In this non-limiting example, since Tae Bo is a “PhysicalFitness” BC service, the category display 712 lists “Physical Fitness.”Alternate formats may be displayed as well, such as personalized formatscreated by the user. The scope of the embodiments of the invention isnot limited by how data is formatted on the screen displays.

[0120] The effective window of calendar days in which a respective BCservice is purchasable is displayed within service information window710. Alternatively or in addition, it may be included as an entry inquery list 724 in which upon selection respective options list 722displays an entry for start time and another entry for end time.

[0121] Once a user has selected a price from option list 722 for asession of the Tae Bo BC service, the user can proceed to record thesession in a VCR device or storage device attached to DHCT 16 byadvancing from option list 722, to functions list 720, by using scrollarrows on the remote, as suggested by scroll arrows 738. A BC servicemay entitle a session to be recorded or not recorded. In the even that aBC service does not allow session recording, “set record” will notappear as an entry in function list 720.

[0122] Recording of BC service's session may be allowed for an extraprice. In one embodiment, a purchasable record option appears as anentry in function list with a price, as a non-limiting example, as “setrecord $5.” In an alternate embodiment, option list 722 will includeprice-options entry indicating price for duration and recording as well.For example, the “$25 (Rec) for 15 min” may indicate to the user theprice for the Tae Bo BC service for a 15 minute session that isrecordable.

[0123] An option for a BC service purchase constitutes a packagepurchase option in options list 722. In the non-limiting example in FIG.7, multiple sessions of the Tae Bo can be purchased for a fee. Forexample, a user may opt to purchase four 30-minute sessions of a BCservice for a discounted price. A first session can be impulsivelyinstigated and the three remaining sessions can be scheduled bynavigating through a series of menus or lists in the hierarchy of asession purchase GUI.

[0124] Upon selection to “wake on availability,” the user selects to benotified when a service not currently available becomes available. Theuser may presented with a displayed pop-up message in the future, whilecontinuing to watch a program television or to consume a second service,that notifies the viewer that a first requested service not previouslyavailable has become available.

[0125] A user can also set a reminder timer for a session purchased fora future time slot via function list 720.

[0126] In FIG. 7, the “A”, “B”, and “C” buttons on the remote 480 may beused to provide certain user interface functionality, as suggested bythe corresponding buttons on the example display screen. For instance,“A” button 740 enables a user to request more information about a BCservice, such as a more thorough description or reviews from otherindividuals (note: needs claimed). The “B” button 742 provides forenacting the purchase of a session at future periods other than the setof near-term periods presented in the options list when availability isselected in the query list. Return Button 744 will return the user tothe screen display from where session purchase screen 700 was entered,for example a BSPG screen, by way of non-limiting example. The “SEL”button 732 enables the user to enact the purchase functionality once alldesired options and functions have been selected. Buttons “A”-“C”, arrowbuttons 730, 734, 736 and 738, and “SEL” button 732 suggest a one-to-onefunctional correspondence to similar buttons on a remote device, such asthat illustrated as a non-limiting example in FIG. 8.

[0127]FIG. 8 illustrates a non-limiting example of a remote controldevice 480 that is used to provide user input to the DHCT 16. The arrowbuttons 882 include an up arrow button 883, a down arrow button 884, aleft arrow button 885, and a right arrow button 886 that are used toscroll through options or selections and/or to highlight an option orselection displayed on one of the plurality of user interface screens.The select button 887 may be used to select a currently highlightedoption or selection that is provided to the user. Lettered button “A”888, “B” 889, and “C” 890 may be used to implement functions on a userinterface screen that have the corresponding letter. Numeric buttons 895may be used to enter numbers, or configured with the application toenter letters corresponding to the numeric buttons 895. In describingthe example screen displays, it will be understood that “selecting” or“pressing” the navigational and lettered buttons on the screen actuallyrequire selecting the corresponding remote control device buttons. Manyalternative methods of providing user input may be used including aremote control device with different buttons and/or button layouts, akeyboard device, a voice activated device, etc. The embodiments of theinvention described herein are not limited by the type of device used toprovide user input.

[0128] In another embodiment, the icon B 742 of FIG. 7 represents asearch operation. FIG. 9 is an example archive search screen 900responsive to the user selecting the “B” search button 742 in sessionpurchase screen 700 or in the BSPG presentation 670 of FIG. 6. Note thechange in the subtitle header 902 reflecting the current screen purpose.Search window 924 enables the user to enter alphanumeric characters tosearch for BC service or other characterizing information within theBSPG database 478. The user may enter the name of a BC service, or anyof the BSPG information and the result display 912 will display theinformation found pertaining to one or more BC services upon completionof a search operation in the BSPG database 478.

[0129] A user may access the BSPG presentation 670 in several ways. Withreference again to FIG. 8, a remote unit 480 is shown with a dedicatedkey to access the BSPG presentation 670. The navigator 455 on the DHCT16 may be configured to activate the BSPG presentation 670 whenever theuser presses the GUIDE key 881 on the remote 480. The user may navigatethe BSPG presentation 670 by pressing the arrow keys to move the cursor678 of the BSPG presentation 670 to the desired selectablebi-directional service link 676. Once the user moves the cursor 678 tothe desired target service or application, the user presses the SEL key887 to select the selectable service link 676 corresponding to thattarget service. If the user desires to exit the BSPG presentation 670,the DHCT 16 may be configured to remove the BSPG presentation 670 andreturn to the current TV program if the user presses the GUIDE key 881 asecond time or the EXIT key 891. It will be clear to one of ordinaryskill that virtually any key on the remote 480 may be configured toactivate the BSPG presentation 670. Similarly, it will be obvious thatthe remote 480 may be any type of corded or wireless remote or keyboardor other input devices. Other input commands can be received as signalsin DHCT 16 by alternate means of receiving input, including voicesignals and signals received via a communication port in DHCT 16.

[0130] In one embodiment, the a user can press the “info” button 892 inorder to cause the remaining time for a purchased service to bedisplayed in a non-obtrusive manner on the television screen. Forinstance, the remaining time may be displayed on the bottom of thetelevision screen regardless of whether the service presentation isactive or in stop mode.

[0131] The BSPG presentation 670 may also be activated by the user uponentering a channel input corresponding to the BSPG service, as definedby the system operator. FIG. 10 is a diagram of the mappings of servicesto channels wherein the BSPG presentation 670 is mapped to a channel ofthe channel table 1001. The system operator at the headend 11 configuresthe assignment of services to channels. The channel table 1001 is a listof all channels in the cable television system, and the bi-directionalservice table 1002 is a list of all available services or applicationsprovided by the cable television system. The system operator configuresthe channel line-up by setting the various channels in channel table1001 to point 1003 to the various service or application in thebi-directional service table 1002. A channel in the channel table 1001may point 1005 to the BSPG, provided by the BSPG client application 477,so that the BSPG presentation 670 is displayed whenever the user selectsthat channel. Thus, in a non-limiting example, the BSPG presentation 670is presented to the user upon the DHCT 16 receiving a command to displaychannel 1. Consequently, the BSPG presentation 670 is presented if theuser inputs a channel 1 command or merely scrolls through the channelsand stops on channel 1.

[0132]FIG. 11 is a screen display diagram of a combination presentationof an interactive program guide (IPG) display 1100 that includes a BSPGpresentation 670. The IPG display 1100 presents current and futureviewable programs to the user in a scrollable format based on channeland time. The user may navigate the IPG display 1100 to select a currentprogram for immediate viewing. The IPG display 1100 is a verticallyscrollable list of channel numbers in a channel portion of the display1101 and a horizontally and vertically scrollable program listingdisplay 1103 of program services, including bi-directional services,corresponding to the respective channels in the channel portion of thedisplay 1101.

[0133] In FIG. 11, the user navigates a cursor 1105 in the programlisting display 1103 to select the individual program or service foractivation. The user in similar fashion may activate bi-directionalservices by moving the cursor 1105 to the bi-directional service listingin the program listing display 1103. Alternatively, a separate programguide, devoted exclusively to bi-directional content, may be listed as aseparate channel. In the disclosed embodiment of FIG. 11, a BSPG islisted as channel 1 and may be accessed by moving the cursor 1105 overchannel 1 and selecting it with the remote 480. In still anotherexample, the BSPG may be a separate guide from the IPG display 1100entirely and may be accessed via separate buttons from the remote 480.

[0134]FIG. 12 is a screen display diagram of another embodiment of aBSPG presentation 670. In this embodiment, channels akin to those usedin the more traditional IPG displays replace the bi-directional servicelinks 676. A bi-directional services menu 1200 lists those servicesavailable to the subscriber at a given time. Note that the selectableservices are arranged in a vertical format such that the subscriber canscroll vertically to view the offered services currently showing on thevarious channels. Alternatively, the subscriber can scroll horizontallyand view the services available at different times on the same channel.As described above, the BSPG presentation 670 may be a separate guidefrom the IPG display 1100 or may be an option that the user can selectfrom the IPG display 1100.

[0135]FIG. 13 is a screen display diagram of another embodiment of aBSPG in a full screen format. In this embodiment, the BSPG presentation670 includes a date and time field 673, a list of channels carryingbi-directional services 680, a description of the bi-directionalservices offered 674, an availability indicator 675 and a next availablesession indicator 677. In a preferred embodiment, some of thebi-directional services may be subscription-based and the program guidecan use different colors and/or textures to distinguish between free andsubscription-based services. Alternately, colors and textures can beused to distinguish between types of services offered (audio only, videoonly or both) or service content (family services versus adultentertainment). These examples are for illustration purposes only and itwill be readily apparent to one of ordinary skill in the art that any ofthe attributes stored in the BSPG database 478 can be graphicallydistinguished in the BSPG presentation 670. Moreover, the methods usedto distinguish between service attributes may be selected by the cablesystem operator or may be user customizable.

[0136] In a preferred embodiment, if a user selects one of the listedbi-directional services the user will receive another BSPG presentation670 showing the sessions available for the selected service. FIG. 14 isa screen display diagram showing the sessions available to a subscriberthat has selected Bally's Exercise Routines from the services listed inFIG. 13. The BSPG presentation 670 of FIG. 14 includes a bi-directionalservices session list 682 that shows the various sessions available fromthe selected bi-directional service. For each session, the availabilityindicator shows the user whether a given bi-directional service sessionis currently available and, if not currently available, a next availablesession indicator 677 indicates when the session will next be available.In a preferred embodiment, if a user attempts to select a session thatis not currently available, the user will receive a audio or visualmessage indicating that the selected service is not available.Alternatively, unavailable sessions will be listed as “grayed out” andare not selectable.

[0137] From FIG. 14, a user may scroll through the available sessionswithin the selected bi-directional service. In a preferred embodiment,the user has the option of pressing the INFO button 892 of the wirelessremote device 480 to obtain additional information about each session.

[0138]FIG. 15 shows an exemplary BSPG session information page 685 thatincludes a detailed description of the offered bi-directional servicesession 687 and a session fee structure 689. At the bottom of thescreen, the user has option to purchase the bi-directional servicesession via the purchase service button 690 or to return to the previousscreen 691.

[0139] In one embodiment, as illustrated in FIG. 16, the user ispresented with an interactive program guide (IPG) 1670 which has BCicons next to varied media selections, suggesting to the user theavailability of a selectable BC service. For a non-limiting example,selections Tae Bo under the PPV category 1676 have “BC” next to themsuggesting to the user that these selections are available for sessionpurchase. In another embodiment, the user may be presented with aservice guide (SG) option 1776 in the example IPG 1790 depicted in FIG.17. Upon selecting the service guide (SG) option 1776, the user ispresented with service selections in a service guide (SG) as illustratedin FIG. 18.

[0140]FIG. 18 is an example user service guide (SG) that provides for aplurality of services 1856 with BC icons to alert the user to theability (or inability) to purchase a BC service session. Alternatively,the BSPG service 1975 may be a selectable service entity, as illustratedin FIG. 19. Selecting the BSPG service 1975 from the service guide 1950may present various BC services that are purchasable, categorized, byway of non-limiting example, by BC service categories such as adultentertainment, personal education, personal advice, etc.

[0141] Once the user has decided on a BC service selection, either byentering a selection in an IPG, a service guide, or during a particularGUI presentation, the user is presented with an example session purchasescreen 2000, as illustrated in FIG. 20.

[0142] BC services under the “adult” category, such as, for example, afeature Suzie Floosey displayed in the display of a an adult BC servicein a BSPG or EPG GUI presentation, are displayed with a lock or PIN iconnext to it to reflect PIN access authorization to view this mediapresentation. The PIN access entry icon may be displayed as a result ofthe user entering a first PIN access number to allow session purchasesof BC services comprising communication of adult material, in accordancewith the rating of the BC service. Alternative icons or warning noticesor messages alerting the user to PIN access entry requirements may alsobe employed.

[0143]FIG. 21 depicts an example PIN entry window 2100 that is presentedto the user after the user selects to purchase a session for a BCservice example session purchase screen, 2000 of FIG. 20. A PIN Entrywindow 2100 is employed during the purchase of a session for a BCservice to authenticate authorization to purchase and exercise parentalcontrol of purchases. The top portion 2110 contains the heading “PINENTRY” while the bottom portion 2120 illustrates relevant navigationbuttons available on the remote control device 480. A user can enter hisor her PIN using the remote control device 480 while being presentedwith the PIN entry window 2100. Center portion 2130 contains entryfields 2140 that display a “*” for every PIN entry received from theuser. In an alternative embodiment a user is not presented with a PINentry screen and is not required to enter a PIN. In yet anotheralternative embodiment, a user is only presented with a PIN entry screenif a session for the selected BC service can be achieved.

[0144] In the described embodiment, the user can purchase abi-directional service from any of the aforementioned GUI presentations.If the selected service is free, the user's selection activates theserver using the process already described. If, on the other hand, theselected service is subscription-based the user will receive aconfirmation screen of the type shown in FIG. 20.

[0145] The BSPG presentation 670 is additionally configurable to controlthe behavior and presence of the bi-directional services links 676 basedon the parental control status of the DHCT 16 as maintained by thenavigator 455 application. Service parental control information isavailable to the BSPG client application 477 via the navigator 455. Ifthe “display_mode” is “active,” the service link 676 is selectable(shown active) even if the service is blocked. Thus, the user may selectthe service link 676 to the target service, but the BSPG presentation670 will display a pop-up barker indicating that the service is notavailable because it has been blocked by parental control. If the“display_mode” is set to “inactive,” links to bi-directional servicesthat are blocked by parental control are displayed to the user in a“grayed out” format so that the user may see the service link 676 butmay not select the link label 676 for activation of the underlyingtarget service. Finally, if the “display_mode” is set to “none,” linksto services that are blocked by parental control are not included in theBSPG presentation 670.

[0146] Either the system operator of the cable television system or theuser of the DHCT 16 may configure the display status of bi-directionalservice links 676 with respect to parental control status of the targetservice. The system operator may designate the display status withrespect to service blocking status by a GUI that graphically configuresthe BSPG presentation 670. More likely, the user, through a settingsmenu (not shown), may configure the BSPG presentation 670 so that thedisplay mode of one or more service links 676 is “inactive” or “none” sothe display of the selectable graphic conforms to the display modesdescribed above. Alternatively, the user can configure the BSPGpresentation 670 by calling the automated phone menu system, logging onto a specified secure and encrypted web site, or navigating through aconfiguration application running in the user's DHCT 16 as describedabove.

[0147] To offer BSPG service, in one implementation, the subscribernetwork television system operator assigns a portion of the downstreamand upstream bandwidth capacity in the subscriber network televisionsystem to be dedicated for transmission of BC services. The amount ofbandwidth capacity that can be allocated to the BSPG service is finite.Grants for request to fulfill a session for a BC service may be limitedduring peak-time periods that correspond to high bandwidth consumptionby a plurality of other services. On the other hand, off-peak-timeperiods may feature unused bandwidth capacity intended for otherservices that can be repossessed for effecting BC service sessions.

[0148] In one embodiment of the invention, the amount of bandwidthcapacity allocated for BC services varies throughout time to reflectbandwidth consumption by a plurality of bandwidth consuming services,including but not limited to VOD services. During peak periods of otherbandwidth consuming services such as, for a non-limiting example, VOD,the amount of bandwidth capacity allocated to the BC services is lessthan during the off-peak periods. Consequently, the number of availableBC services during peak-periods may less than during off-peak periods.Lower bit rates resulting in lower picture quality (e.g., lower qualityof service) may need to be effected for BC services during peak periods.Pricing for each respective BC service session may or may not varyaccording to whether the time interval for a purchase session is a peakperiod or not.

[0149] As a non-limiting example, during peak periods, such as 6:00 to10:59 P.M. of the week nights, a BC service may exhibit higher pricingwhereas during certain, low-demand time periods such as 6:00 to 11:00A.M of the weekend days the pricing will be lower. Other factors such asdemand for a BC service and its popularity may also influence pricing.Therefore, pricing for a BC services may be configured to adapt in atime-specific manner according to a plan and according to such otherfactors.

[0150] Other factors influencing pricing of a BC service include theservice content type (e.g., audio, video, and/or data), the sessionquality (e.g., CD quality or surround sound quality audio; and lowbitrate versus high bit-rate picture quality).

[0151] The allocation of system resources such as bandwidth for BCservices may be configured to switch as time progresses from a firstallocation sub-schedule to a second allocation sub-schedule according toa main schedule that specifies the time interval when each of two ormore sub-schedules is to be active as illustrated in FIG. 22. As notedin FIG. 21, the plan may consist, in one embodiment, of scheduling withmultiple schedules 2210, on a per week basis 2220, administered with aplurality of sub-schedules on a daily basis 2230 (or alternativelyweekly basis). In this embodiment, only one configurable sub-schedule isactive at a time throughout the configurable recurring schedule but afirst configurable sub-schedule may be active throughout one or moredistinct and non-overlapping time intervals of the configurablerecurring schedule. The recurrence of the schedule is configured to oneof a plurality of time periods such as a weekly, daily, or a monthlyrecurring schedule.

[0152] According to another possible bandwidth allocation schedule, amultiplicity of time-adaptive schedules for each of a multiplicity ofrecurring schedule choices are pre-configured. In this embodiment, thecable system operator may monitor the bandwidth and BC service usage andbe given the option of manually implementing one of the pre-configuredallocation schedules without following a plan.

[0153] Alternatively, the DNCS 323 may automatically monitor bandwidthusage and automatically select one of the pre-configured. For instance,six different configurations may be available for time-adaptivemanagement of the bandwidth allocated for BC services for a dailyrecurring schedule. On the other hand, more than six differentarrangements may be necessary when implementing time-adaptive bandwidthmanagement on a weekly recurring schedule.

[0154] The pricing system and the allocated bandwidth are inherentlyrelated, as the price structure will depend on, among other factors, thetime of the BC service session and the duration. In a subscriber networktelevision system that markets BC services with a plurality of prices, afirst subscriber may be willing to pay a premium to immediately effect asession of a BC service that is purchased during a peak-period. A secondsubscriber pays a lesser purchase fee when purchasing a BC serviceduring a peak-period but selecting to schedule the session at a latertime corresponding to an off peak-period. In the preferred embodiment,the BSPG service offers a plurality of prices for a BC service session,each respective price is associated with a different combinationduration, recording rights, session start time, and picture quality. TheBSPG presentation 670 may allow configurability by the user so as toinclude one or more favorite bi-directional services so designated bythe user to appear in the BSPG presentation 670. While the systemoperator may configure one or more selectable bi-directional servicelinks 676 to always be presented in the BSPG presentation 670, thesystem operator may configure the BSPG presentation 670 to displayselectable bi-directional service links 676 to services chosen by theuser for incorporation in the BSPG presentation 670.

[0155] The BSPG presentation 670 may be configured to additionallydisplay a selectable bi-directional service link 676 to services orchannels in a time-specific manner. The BSPG presentation 670 may beconfigured to switch as time progresses from a first configurable BSPGpresentation 670 to a second configurable BSPG presentation 670according to a schedule that specifies the time interval when each oftwo or more respective BSPG presentations 670 is to be active. Two ormore from a multiplicity of configurable BSPG presentations 670 areconfigured to be active for one or more intervals of time in a recurringschedule. Only one configurable BSPG presentation 670 is active at atime throughout the configurable recurring schedule but a firstconfigurable BSPG presentation 670 may be active throughout one or moredistinct and non-overlapping time intervals of the configurablerecurring schedule. The recurrence of the schedule is configured to oneof a multiplicity of choices such as a weekly, daily, or a monthlyrecurring schedule.

[0156] In an embodiment, the system operator configures a multiplicityof time-adaptive BSPG presentations 670 for each of a multiplicity ofrecurring schedule choices. For instance, the system operator mayconfigure six different arrangements to choose from for users that optfor a time-adaptive service guide on a daily recurring schedule. On theother hand, the system operator may configure more than six differentarrangements to choose from for users that opt for a time-adaptiveservice guide on a weekly recurring schedule.

[0157] In another embodiment, in addition to having the choice ofselecting one of a multiplicity of time-adaptive BSPG presentations 670pre-configured by the system operator, the user can additionallyconfigure a time-adaptive BSPG presentation 670 according to the user'spreference for a user-selected recurring schedule from the set ofrecurring schedule choices. The user can enter his or her preferencesthrough an interactive configuration session in the DHCT 16 or inalternate embodiments by calling the automated phone menu system orlogging on to a specified secure and encrypted web site as describedabove.

[0158] In an embodiment, a time-adaptive BSPG presentation 670 running aweekly recurring schedule may include selectable bi-directional servicelinks 676 to, for example, personalized traffic and/or weather servicesfor one or more specific time intervals (e.g., 7:30 to 8:00 A.M. and/or11:00 to 11:30 PM for personalized news; 1:00 to 5:00 PM forpersonalized financial services) during weekdays. During weekends, theweekday selectable bi-directional service links 676 become inactive.Examples of selectable service links for weekends might include visualchat rooms or exercise classes.

[0159] The BSPG presentation 670, which comprises an ordered listing ofselectable services can be embodied in any computer-readable medium foruse by or in connection with an instruction execution system, apparatus,or device, such as a computer-based system, processor-containing system,or other system that can fetch the instructions from the instructionexecution system, apparatus, or device and execute the instructions. Inthe context of this document, a “computer-readable medium” can be anymeans that can contain, store, communicate, propagate, or transport theprogram for use by or in connection with the instruction executionsystem, apparatus, or device. The computer readable medium can be, forexample but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, device,or propagation medium. More specific examples (a non-exhaustive list) ofthe computer-readable medium would include the following: an electricalconnection (electronic) having one or more wires, a portable computerdiskette (magnetic), a random access memory (RAM) (magnetic), aread-only memory (ROM) (magnetic), an erasable programmable read-onlymemory (EPROM or Flash memory) (magnetic), an optical fiber (optical),and a portable compact disc read-only memory (CDROM) (optical). Notethat the computer-readable medium could even be paper or anothersuitable medium upon which the program is printed, as the program can beelectronically captured, via for instance optical scanning of the paperor other medium, then compiled, interpreted or otherwise processed in asuitable manner if necessary, and then stored in a computer memory.

[0160] Further, any process descriptions or blocks in flow charts shouldbe understood as representing modules, segments, or portions of codewhich include one or more executable instructions for implementingspecific logical functions or steps in the process, and alternateimplementations are included within the scope of the preferredembodiment of the present invention in which functions may be executedout of order from that shown or discussed, including substantiallyconcurrently or in reverse order, depending on the functionalityinvolved, as would be understood by those reasonably skilled in the artof the present invention.

[0161] It should be emphasized that the above-described embodiments ofthe present invention, particularly any “preferred embodiments” aremerely possible examples of the implementations, merely set forth for aclear understanding of the principles of the invention. Any variationsand modifications may be made to the above-described embodiments of theinvention without departing substantially from the spirit of theprinciples of the invention. All such modifications and variations areintended to be included herein within the scope of the disclosure andpresent invention and protected by the following claims.

That which is claimed:
 1. A method for accessing a plurality ofbi-directional services over a cable television network, comprising:presenting a program guide to at least one subscriber of a cabletelevision network, wherein the program guide displays at least one of aplurality of bi-directional services offered over the cable televisionnetwork; populating a bi-directional services database with informationrelated to the bi-directional services displayed in the program guide;receiving a request from a subscriber for a bi-directional servicedisplayed in the program guide; querying the bi-directional servicesdatabase to determine whether the bi-directional service requested bythe subscriber is available for consumption in a manner requested by thesubscriber; rendering the bi-directional service requested by thesubscriber; and updating the bi-directional services database to reflectthat the bi-directional service requested by the subscriber has beenrendered.
 2. The method of claim 1, wherein receiving a request from asubscriber for a bi-directional service comprises a bi-directionalcommunication session between the subscriber and a content provider. 3.The method of claim 1, wherein receiving a request from a subscriber fora bi-directional service comprises a bi-directional communicationsession concurrently between a content provider and a plurality ofsubscribers.
 4. The method of claim 1, wherein receiving a request froma subscriber for a bi-directional service comprises a bi-directionalcommunication session between the subscriber and at least one othersubscriber.
 5. The method of claim 1, wherein receiving a request from asubscriber for a bi-directional service comprises a real-timebi-directional communication session between the subscriber and acontent provider.
 6. The method of claim 1, wherein receiving a requestfrom a subscriber for a bi-directional service comprises a request of abi-directional communication service for future consumption.
 7. Themethod of claim 1, wherein receiving a request from a subscriber for abi-directional service comprises one of a plurality of instantiations ofa bi-directional service offered by a content provider.
 8. The method ofclaim 7, wherein querying the bi-directional services database todetermine whether the bi-directional service requested by the subscriberis available comprises querying the bi-directional services database todetermine whether an instantiation of the bi-directional servicerequested by the subscriber is available.
 9. The method of claim 7,wherein updating the bi-directional services database to reflect thatthe bi-directional service requested by the subscriber has been renderedcomprises updating the bi-directional services database to reflect thatan instantiation of the bi-directional service requested by thesubscriber has been rendered.
 10. The method of claim 1, furthercomprising sending a denial of service message to the subscriber if thebi-directional service requested by the subscriber is not available. 11.The method of claim 1, further comprising prompting the subscriber torequest another bi-directional service if the bi-directional servicerequested by the subscriber is not available.
 12. The method of claim 1,further comprising prompting the subscriber to reserve thebi-directional service for another time if the bi-directional servicerequested by the subscriber is not available.
 13. A method for accessinga plurality of bi-directional services over a cable television network,comprising the steps of: populating a bi-directional services databasewith information related to a plurality of bi-directional services;sending the bi-directional services database to a home terminal of afirst subscriber of a cable television network; presenting a programguide to the first subscriber of the cable television network via thehome terminal, wherein the program guide displays at least one of aplurality of bi-directional services; receiving a request from the firstsubscriber for a bi-directional service displayed in the program guide;querying the bi-directional services database to determine whether thebi-directional service requested by the first subscriber is available;rendering the bi-directional service requested by the first subscriber;generating an updated bi-directional services database to reflect thatthe bi-directional service requested by the first subscriber has beenrendered; and transmitting the updated bi-directional services databaseto a second subscriber.
 14. The method of claim 13, wherein transmittingthe updated bi-directional services database to a second subscriberoccurs on a scheduled basis.
 15. The method of claim 13, whereinpopulating a bi-directional services database includes populating anavailability table of entries, each entry respectively associated with abi-directional service and each entry indicating whether the associatedbi-directional service is available.
 16. The method of claim 15, whereinquerying the bi-directional services database to determine whether thebi-directional service requested by the first subscriber is availablecomprises querying an availability table entry in the availability tableof entries that is associated with the bi-directional service requestedby the first user.
 17. The method of claim 16, wherein generating anupdated bi-directional services database to reflect that thebi-directional service requested by the first subscriber has beenrendered comprises updating the availability table entry in theavailability table of entries that is associated with the bi-directionalservice requested by the first user.
 18. The method of claim 17, whereintransmitting the updated bi-directional services database to a secondsubscriber comprises transmitting the availability table of entries tothe second subscriber.
 19. The method of claim 17, wherein transmittingthe updated bi-directional services database to a second subscribercomprises transmitting the availability table entry associated with thebi-directional service requested by the first user.
 20. The method ofclaim 13, wherein populating a bi-directional services database withinformation related to a plurality of bi-directional services comprisespopulating the bi-directional services database with at least one of abi-directional service title, a bi-directional service contentdescription, a bi-directional service category, the identity of thecontent provider that provides the bi-directional service, a descriptionof the people that fulfill the bi-directional service and bi-directionalservice rating information.
 21. A system for providing a bi-directionalservices programming guide over a cable television network, comprising:a bi-directional services content provider; a headend in communicationwith a hybrid fiber-coax network and the bi-directional services contentprovider; a bi-directional communications server, configured toestablish bi-directional communication between the bi-directionalservices content provider and the headend; a home communication terminalin communication with a display device and in communication with theheadend via the hybrid fiber-coax network; a bi-directional servicesprogram guide application server in communication with thebi-directional communications server, wherein the bi-directionalservices program guide application server is configured to establishbi-directional communication between the headend and the homecommunication terminal; and a bi-directional services program guideclient application residing on the home communication terminal and incommunication with the bi-directional services program guide applicationserver, wherein the bi-directional services program guide clientapplication is configured to generate the bi-directional servicesprogramming guide on the display device and to establish bi-directionalcommunications between the bi-directional services content provider andthe home communications terminal.
 22. The system of claim 21, whereinthe bi-directional communications server resides at the headend.
 23. Thesystem of claim 21, wherein the bi-directional services program guideapplication server resides at the headend.
 24. The system of claim 21,wherein the bi-directional communications server communicates with thebi-directional services content provider through at least one of arouter, a satellite receiver, a satellite transceiver, a terrestrialreceiver, a terrestrial antenna and a bi-directional gateway connectedto a backbone switch.
 25. The system of claim 21, further comprising abi-directional services database in communication with thebi-directional services program guide application server and thebi-directional services program guide client application, wherein thebi-directional services database stores information pertaining tobi-directional services for presentation via the display device.
 26. Thesystem of claim 25, wherein the bi-directional services database residesat the home communications terminal.
 27. The system of claim 25, whereinthe bi-directional services database is external to the homecommunications terminal.
 28. The system of claim 25, wherein thebi-directional services database includes an availability table ofentries, each entry respectively associated with a bi-directionalservice and each entry indicating whether the associated bi-directionalservice is available.
 29. The system of claim 25, wherein thebi-directional services program guide application server is configuredto query the bi-directional services database to determine theavailability of a bi-directional service requested by a subscriber. 30.The system of claim 25, wherein the bi-directional services programguide application server is configured to update the bi-directionalservices database when a bi-directional service is rendered to thesubscriber.
 31. The system of claim 30, wherein the bi-directionalservices program guide application server is configured to transmit theupdated bi-directional services database to the home communicationsterminal.